package cmd

import (
	"fmt"

	"gitee.com/jysense/gogofly/conf"
	"gitee.com/jysense/gogofly/global"
	"gitee.com/jysense/gogofly/router"
	"gitee.com/jysense/gogofly/utils"
)

func Start() {
	var initErr error
	// ==========================================================
	// = 初始化系统配置文件
	conf.InitConfig()

	// ==========================================================
	// = 初始化日志组件
	global.Logger = conf.InitLogger()

	// ==========================================================
	// = 初始化数据库连接
	db, err := conf.InitDB()
	global.DB = db
	if err != nil {
		initErr = utils.AppendError(initErr, err)
	}

	// ==========================================================
	// = 初始化reids连接
	rdClient, err := conf.InitRedis()
	global.RedisClient = rdClient
	if err != nil {
		initErr = utils.AppendError(initErr, err)
	}

	_ = global.RedisClient.Set("username", "zs")
	fmt.Println(global.RedisClient.Get("username"))

	// ==========================================================
	// = 初始化过程中，遇到错误的最终处理
	if initErr != nil {
		if global.Logger != nil {
			global.Logger.Error(initErr.Error())
		}

		panic(initErr.Error())
	}

	// ==========================================================
	// = 初始化系统路由
	router.InitRouter()

}

func Clean() {
	fmt.Println("================clean===============")
}
